<template>
  <header>
    <div class="l-content">
      <el-button @click="handleMenu" plain icon="el-icon-menu" size="mini"></el-button>
      <!--<h3 style="color: #fff;">首页</h3>-->
      <el-breadcrumb separator="/">
        <el-breadcrumb-item v-for="item in tags" :key="item.path" :to="{ path: item.path }">{{item.label}}
        </el-breadcrumb-item>
      </el-breadcrumb>
    </div>
    <div class="r-content">
      <el-dropdown trigger="click" size="mini">
				<span>
					<img class="user" :src="userImg"/>
				</span>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item>个人中心</el-dropdown-item>
          <el-dropdown-item @click.native="logOut">退出</el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
    </div>

  </header>
</template>

<script>
    // mapState  vuex辅助函数
    import {mapState} from 'vuex'

    export default {
        name: 'CommonHeader',
        data() {
            return {
                userImg: require('assets/images/user.png')
            }
        },
        methods: {
            handleMenu() {
                this.$store.commit('collapseMenu')
            },
            logOut() {
                this.$store.commit('clearMenu')
                this.$store.commit('clearToken')
                this.$router.push({name:'Login'})
            }
        },
        computed: {
            ...mapState({
                tags: state => state.tab.tabsList
            })
        }
    }
</script>

<style lang="less" scoped>
  header {
    display: flex;
    height: 100%;
    justify-content: space-between;
    align-items: center;
  }

  .l-content {
    display: flex;
    align-items: center;
    // 不用这样子，直接像上面那样space-between然后给盒子设一个合适的width就可以了
    .el-button {
      margin-right: 20px;
    }
  }

  .r-content {
    .user {
      width: 40px;
      height: 40px;
      border-radius: 50%;
    }
  }
</style>
